package com.zcl.javaClassAndObject.lambda;

/**
 * @Description:
 * @author: zcl
 * @date: 2022/3/4  14:01
 */
public class Program2 {


    public static void main(String[] args) {
        If1 if1 = ()->{
            System.out.println("这是if1: 无参数无返回值");
        };
        if1.test();


        If2 if2 = (int a)->{
            System.out.println(a+ "单个参数无返回值");
        };
        if2.test(1);

        If3 if3 = (int a,int b)->{
            System.out.println(a + b+ "两个参数无返回值");
        };
        if3.test(1,2);

        If4 if4 = ()->{
            return 2;
        };
        System.out.println(if4.test());

        If5 if5 = (int a)->{
            return a*a;
        };
        System.out.println(if5.test(3));

        If6 if6 = (int a, int b)->{
            return a*b;
        };
        System.out.println(if6.test(4, 5));
    }
}


interface If1{

    /**
     * 无参数无返回值
     */
    void test();
}


interface If2{

    /**
     * 单个参数无返回值
     * @param a
     */
    void test(int a);
}

interface If3{

    /**
     * 两个参数无返回值
     * @param a
     * @param b
     */
    void test(int a,int b);
}


interface If4{

    /**
     * 无参数有返回值
     * @return
     */
    int test();
}

interface If5{

    /**
     * 单个参数有返回值
     * @param a
     * @return
     */
    int test(int a);
}

interface If6{

    /**
     * 多个参数有返回值
     * @param a
     * @param b
     * @return
     */
    int test(int a,int b);
}